(1) JBCNonTerm (EQUIVALENT transformation)
Reached a loop using the following run:
0:
<simple.even.Main.main||0: load ADDR args||args: a230|| ->
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a228
String.CASE_INSENSITIVE_ORDER: o170
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
o170!: String$CaseInsensitiveComparator()
a228([java.io.ObjectStreamField|]): length 0
o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
a230([java.lang.String...]): {o32, o16}
o16(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
1:
<simple.even.Main.main||1: push 1||args: a230||a230>
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a228
String.CASE_INSENSITIVE_ORDER: o170
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
o170!: String$CaseInsensitiveComparator()
a228([java.io.ObjectStreamField|]): length 0
o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
a230([java.lang.String...]): {o32, o16}
o16(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
2:
<simple.even.Main.main||2: Read ADDR from array||args: a230||a230, 1>
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a228
String.CASE_INSENSITIVE_ORDER: o170
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
o170!: String$CaseInsensitiveComparator()
a228([java.io.ObjectStreamField|]): length 0
o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
a230([java.lang.String...]): {o32, o16}
o16(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
3:
<simple.even.Main.main||3: java.lang.String.length()I||args: a230||o16>
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a228
String.CASE_INSENSITIVE_ORDER: o170
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
o170!: String$CaseInsensitiveComparator()
a228([java.io.ObjectStreamField|]): length 0
o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
a230([java.lang.String...]): {o32, o16}
o16(java.lang.String...): String(count=1, hash=i20, offset=i22, value=a7?)
i20: #I
i22: [0,+inf)
a7:: [CHAR]
a14:: [CHAR]
4:
<java.lang.String.length||0: load ADDR this||this: o16|| ->
<simple.even.Main.main||3: java.lang.String.length||args: a230||o16>
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a228
String.CASE_INSENSITIVE_ORDER: o170
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
o170!: String$CaseInsensitiveComparator()
a228([java.io.ObjectStreamField|]): length 0
o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
a230([java.lang.String...]): {o32, o16}
o16(java.lang.String...): String(count=1, hash=i20, offset=i22, value=a7?)
i20: #I
i22: [0,+inf)
a7:: [CHAR]
a14:: [CHAR]
5:
<java.lang.String.length||1: Read from count|| - ||o16>
<simple.even.Main.main||3: java.lang.String.length||args: a230||o16>
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a228
String.CASE_INSENSITIVE_ORDER: o170
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
o170!: String$CaseInsensitiveComparator()
a228([java.io.ObjectStreamField|]): length 0
o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
a230([java.lang.String...]): {o32, o16}
o16(java.lang.String...): String(count=1, hash=i20, offset=i22, value=a7?)
i20: #I
i22: [0,+inf)
a7:: [CHAR]
a14:: [CHAR]
6:
<java.lang.String.length||4: return INT|| - ||1>
<simple.even.Main.main||3: java.lang.String.length||args: a230||o16>
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a228
String.CASE_INSENSITIVE_ORDER: o170
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
o170!: String$CaseInsensitiveComparator()
a228([java.io.ObjectStreamField|]): length 0
o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
a230([java.lang.String...]): {o32, o16}
o16(java.lang.String...): String(count=1, hash=i20, offset=i22, value=a7?)
i20: #I
i22: [0,+inf)
a7:: [CHAR]
a14:: [CHAR]
7:
<simple.even.Main.main||6: store INT to even||args: a230||1>
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a228
String.CASE_INSENSITIVE_ORDER: o170
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
o170!: String$CaseInsensitiveComparator()
a228([java.io.ObjectStreamField|]): length 0
o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
a230([java.lang.String...]): {o32, o16}
o16(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
8:
<simple.even.Main.main||7: load ADDR args||args: a230, even: 1|| ->
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a228
String.CASE_INSENSITIVE_ORDER: o170
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
o170!: String$CaseInsensitiveComparator()
a228([java.io.ObjectStreamField|]): length 0
o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
a230([java.lang.String...]): {o32, o16}
o16(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
9:
<simple.even.Main.main||8: push 0||even: 1||a230>
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a228
String.CASE_INSENSITIVE_ORDER: o170
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
o170!: String$CaseInsensitiveComparator()
a228([java.io.ObjectStreamField|]): length 0
o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
a230([java.lang.String...]): {o32, o16}
o16(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
10:
<simple.even.Main.main||9: Read ADDR from array||even: 1||a230, 0>
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a228
String.CASE_INSENSITIVE_ORDER: o170
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
o170!: String$CaseInsensitiveComparator()
a228([java.io.ObjectStreamField|]): length 0
o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
a230([java.lang.String...]): {o32, o16}
o16(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
11:
<simple.even.Main.main||10: java.lang.String.length()I||even: 1||o32>
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a228
String.CASE_INSENSITIVE_ORDER: o170
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
o170!: String$CaseInsensitiveComparator()
a228([java.io.ObjectStreamField|]): length 0
o32(java.lang.String...): String(count=2, hash=i35, offset=i37, value=a14?)
i35: #I
i37: [0,+inf)
a230([java.lang.String...]): {o32, o16}
o16(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
12:
<java.lang.String.length||0: load ADDR this||this: o32|| ->
<simple.even.Main.main||10: java.lang.String.length||even: 1||o32>
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a228
String.CASE_INSENSITIVE_ORDER: o170
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
o170!: String$CaseInsensitiveComparator()
a228([java.io.ObjectStreamField|]): length 0
o32(java.lang.String...): String(count=2, hash=i35, offset=i37, value=a14?)
i35: #I
i37: [0,+inf)
a230([java.lang.String...]): {o32, o16}
o16(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
13:
<java.lang.String.length||1: Read from count|| - ||o32>
<simple.even.Main.main||10: java.lang.String.length||even: 1||o32>
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a228
String.CASE_INSENSITIVE_ORDER: o170
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
o170!: String$CaseInsensitiveComparator()
a228([java.io.ObjectStreamField|]): length 0
o32(java.lang.String...): String(count=2, hash=i35, offset=i37, value=a14?)
i35: #I
i37: [0,+inf)
a230([java.lang.String...]): {o32, o16}
o16(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
14:
<java.lang.String.length||4: return INT|| - ||2>
<simple.even.Main.main||10: java.lang.String.length||even: 1||o32>
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a228
String.CASE_INSENSITIVE_ORDER: o170
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
o170!: String$CaseInsensitiveComparator()
a228([java.io.ObjectStreamField|]): length 0
o32(java.lang.String...): String(count=2, hash=i35, offset=i37, value=a14?)
i35: #I
i37: [0,+inf)
a230([java.lang.String...]): {o32, o16}
o16(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
15:
<simple.even.Main.main||13: push 2||even: 1||2>
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a228
String.CASE_INSENSITIVE_ORDER: o170
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
o170!: String$CaseInsensitiveComparator()
a228([java.io.ObjectStreamField|]): length 0
o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
a230([java.lang.String...]): {o32, o16}
o16(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
16:
<simple.even.Main.main||14: REM||even: 1||2, 2>
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a228
String.CASE_INSENSITIVE_ORDER: o170
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
o170!: String$CaseInsensitiveComparator()
a228([java.io.ObjectStreamField|]): length 0
o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
a230([java.lang.String...]): {o32, o16}
o16(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
17:
<simple.even.Main.main||15: NE 0||even: 1||0>
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a228
String.CASE_INSENSITIVE_ORDER: o170
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
o170!: String$CaseInsensitiveComparator()
a228([java.io.ObjectStreamField|]): length 0
o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
a230([java.lang.String...]): {o32, o16}
o16(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
18:
<simple.even.Main.main||18: load INT even||even: 1|| ->
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a228
String.CASE_INSENSITIVE_ORDER: o170
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
o170!: String$CaseInsensitiveComparator()
a228([java.io.ObjectStreamField|]): length 0
o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
a230([java.lang.String...]): {o32, o16}
o16(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
19:
<simple.even.Main.main||19: NEG|| - ||1>
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a228
String.CASE_INSENSITIVE_ORDER: o170
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
o170!: String$CaseInsensitiveComparator()
a228([java.io.ObjectStreamField|]): length 0
o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
a230([java.lang.String...]): {o32, o16}
o16(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
20:
<simple.even.Main.main||20: store INT to even|| - ||-1>
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a228
String.CASE_INSENSITIVE_ORDER: o170
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
o170!: String$CaseInsensitiveComparator()
a228([java.io.ObjectStreamField|]): length 0
o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
a230([java.lang.String...]): {o32, o16}
o16(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
21:
<simple.even.Main.main||21: load INT even||even: -1|| ->
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a228
String.CASE_INSENSITIVE_ORDER: o170
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
o170!: String$CaseInsensitiveComparator()
a228([java.io.ObjectStreamField|]): length 0
o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
a230([java.lang.String...]): {o32, o16}
o16(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
22:
<simple.even.Main.main||22: simple.even.Even.even(I)Z|| - ||-1>
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a228
String.CASE_INSENSITIVE_ORDER: o170
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
o170!: String$CaseInsensitiveComparator()
a228([java.io.ObjectStreamField|]): length 0
o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
a230([java.lang.String...]): {o32, o16}
o16(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
23:
<simple.even.Even.even||0: load INT i||i: -1|| ->
<simple.even.Main.main||22: simple.even.Even.even|| - ||-1>
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a228
String.CASE_INSENSITIVE_ORDER: o170
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
o170!: String$CaseInsensitiveComparator()
a228([java.io.ObjectStreamField|]): length 0
o32(java.lang.String...): String(count=2, hash=#I, offset=[0,+inf), value=a14?)
a230([java.lang.String...]): {o32, o16}
o16(java.lang.String...): String(count=1, hash=#I, offset=[0,+inf), value=a7?)
a7:: [CHAR]
a14:: [CHAR]
In the loop head node, references [i73] were interesting.
By SMT, we could prove
(2 <= initial_i7 and ((((path2_i73 = path2_i83 and path2_i83 = path2_i86 and path2_i89 = (path2_i86 - 2) and path2_i89 = res_i73 and path2_i74 = res_i74 and path2_i7 = res_i7 and path2_i73 = initial_i73 and path2_i74 = initial_i74 and path2_i7 = initial_i7) and (path2_i83 != 1 and path2_i86 < 0)) or ((path1_i73 = path1_i84 and path1_i88 = (path1_i84 - 2) and path1_i88 = res_i73 and path1_i74 = res_i74 and path1_i7 = res_i7 and path1_i73 = initial_i73 and path1_i74 = initial_i74 and path1_i7 = initial_i7) and (path1_i84 > 0 and path1_i84 < 1)) or ((path2_i73 = path2_i83 and path2_i83 = path2_i86 and path2_i89 = (path2_i86 - 2) and path2_i89 = res_i73 and path2_i74 = res_i74 and path2_i7 = res_i7 and path2_i73 = initial_i73 and path2_i74 = initial_i74 and path2_i7 = initial_i7) and (path2_i86 < 0 and path2_i83 < 1)) or ((path2_i73 = path2_i83 and path2_i83 = path2_i86 and path2_i89 = (path2_i86 - 2) and path2_i89 = res_i73 and path2_i74 = res_i74 and path2_i7 = res_i7 and path2_i73 = initial_i73 and path2_i74 = initial_i74 and path2_i7 = initial_i7) and (path2_i86 < 0 and path2_i83 > 1))) and (((res_i73 = res_i83 and res_i83 = res_i86 and res_i89 = (res_i86 - 2)) and !(res_i83 != 1 and res_i86 < 0)) and ((res_i73 = res_i84 and res_i88 = (res_i84 - 2)) and !(res_i84 != 1 and res_i84 > 0)) and ((res_i73 = res_i83 and res_i83 = res_i86 and res_i89 = (res_i86 - 2)) and !(res_i83 != 1 and res_i86 < 0)) and ((res_i73 = res_i83 and res_i83 = res_i86 and res_i89 = (res_i86 - 2)) and !(res_i83 != 1 and res_i86 < 0)))))
to be UNSAT. Consequently, the loop will not terminate.